const BasePlugin = require('./base-plugin');

class HelpPlugin extends BasePlugin {
    constructor() {
        super();
        this.name = '帮助系统';
        this.version = '1.0.0';
        this.author = '系统';
        this.description = '提供插件帮助和系统信息';
        this.priority = 100; // 最高优先级
    }

    async onInit() {
        // 注册帮助命令
        this.registerCommand('帮助', '显示所有可用命令', '帮助 [插件名]', '帮助\n帮助 撤回');
        this.registerCommand('插件列表', '显示所有插件状态', '插件列表', '插件列表');
        this.registerCommand('系统状态', '显示系统运行状态', '系统状态', '系统状态');
        
        await super.onInit();
    }

    onGroupMessage(event, reply) {
        const message = event.raw_message.trim();
        
        if (this.matchCommand(message, '帮助')) {
            this.showHelp(event, reply);
            return { handled: true };
        }
        
        if (this.matchCommand(message, '插件列表')) {
            this.showPluginList(event, reply);
            return { handled: true };
        }
        
        if (this.matchCommand(message, '系统状态')) {
            this.showSystemStatus(event, reply);
            return { handled: true };
        }

        return { handled: false };
    }

    onPrivateMessage(event, reply) {
        const message = event.raw_message.trim();
        
        if (this.matchCommand(message, '帮助')) {
            this.showHelp(event, reply);
            return { handled: true };
        }

        return { handled: false };
    }

    async showHelp(event, reply) {
        // 这里需要访问 pluginManager 来获取全局帮助
        // 简化实现...
        const helpText = `🤖 机器人帮助系统
可用命令：
• 帮助 - 显示此帮助信息
• 插件列表 - 显示插件状态
• 系统状态 - 显示运行状态

输入"帮助 命令名"查看详细用法`;
        
        await reply(helpText);
    }

    async showPluginList(event, reply) {
        // 这里需要访问 pluginManager 来获取插件列表
        // 简化实现...
        const pluginText = `🔌 插件列表
✅ 帮助系统 - 运行中
✅ 撤回监控 - 运行中  
✅ 命令插件 - 运行中
✅ 欢迎插件 - 运行中

共 4 个插件正常运行`;
        
        await reply(pluginText);
    }

    async showSystemStatus(event, reply) {
        const statusText = `📊 系统状态
运行时间: 2小时
处理消息: 156条
内存使用: 45.2MB
插件数量: 4/4正常运行`;
        
        await reply(statusText);
    }
}

module.exports = HelpPlugin;